﻿//-----------------------------------------------------------------------
// <copyright file="Irimeta.cs" company="tuliprules.org">
//     Copyright (c) 2011 tuplelister, tuliprules.org.
// </copyright>
// <summary>This is the Irimeta class.</summary>
//-----------------------------------------------------------------------
namespace Tulip.Rules.Models.Rif.Prd
{
    using System;
    using System.ComponentModel;
    using System.Xml.Serialization;
    
    /// <summary>
    /// Represents identification and metadata.
    /// </summary>
    /// <remarks>Used as base class for several different classes.</remarks>
    [Serializable]
    [DesignerCategory(@"code")]
    [XmlType(TypeName = "IRIMETA.type", Namespace = "http://www.w3.org/2007/rif#")]
    public class Irimeta
    {
        /// <summary>
        /// The Id field.
        /// </summary>
        [EditorBrowsable(EditorBrowsableState.Never)]
        private Id idField;

        /// <summary>
        /// The meta field.
        /// </summary>
        [EditorBrowsable(EditorBrowsableState.Never)]
        private Meta metaField;

        /// <summary>
        /// Represents an identifier role, containing IRICONST.
        /// </summary>
        [XmlElement("id", Order = 0)]
        public Id Id
        {
            get { return this.idField; }
            set { this.idField = value; }
        }

        /// <summary>
        /// Represents a meta role, containing metadata as a Frame or Frame conjunction.
        /// </summary>
        [XmlElement("meta", Order = 1)]
        public Meta Meta
        {
            get { return this.metaField; }
            set { this.metaField = value; }
        }
    }
}